/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Informacion.Usuarios.Controlador;

import Informacion.Usuarios.BEAN.UsuarioBEAN;
import Informacion.Usuarios.DAO.UsuarioDAO;
import Informacion.Usuarios.Vista.EditarUsuarios;
import Informacion.Usuarios.Vista.Usuarios;
import javax.swing.JOptionPane;
import sape.Controlador;
import sape.MenuControlador;

/**
 *
 * @author Diego
 */
public class EditarUsuariosControlador extends Controlador{
        public MenuControlador menu_controlador;
        public EditarUsuarios vista;
        public UsuarioBEAN usuario;

    public EditarUsuariosControlador(EditarUsuarios aThis, MenuControlador menu) {
       this.vista=aThis;
       this.menu_controlador=menu;
    }

    public EditarUsuariosControlador(EditarUsuarios aThis, MenuControlador menu_controlador, UsuarioBEAN elemento) {
       this.vista=aThis;
       this.menu_controlador=menu_controlador;
       this.usuario=elemento;
       this.vista.tbNombre.setText(elemento.getNombre());
        if(usuario.getNombre()!= null)this.vista.tbNombre.setText(usuario.getNombre().toString());
        if(usuario.getApellidoPaterno()!= null)this.vista.tbApellidoPaterno.setText(usuario.getApellidoPaterno().toString());
        if(usuario.getApellidoMaterno()!= null)this.vista.tbApellidoMaterno.setText(usuario.getApellidoMaterno().toString());
        
        if(usuario.getDireccion()!= null)this.vista.tbDireccion.setText(usuario.getDireccion().toString());
        if(usuario.getDni()!= null)this.vista.tbDni.setText(usuario.getDni().toString());
        if(usuario.getMail()!= null)this.vista.tbMail.setText(usuario.getMail().toString());
        if(usuario.getTelefono()!= null)this.vista.tbTelefono.setText(usuario.getTelefono().toString());
        if(usuario.getNombreUsuario()!= null)this.vista.tbNombreUsuario.setText(usuario.getNombreUsuario().toString()); 
        if(usuario.getMarca()!= null)this.vista.tbMarcaVehiculo.setText(usuario.getMarca().toString());
        if(usuario.getModelo()!= null)this.vista.tbModeloVehiculo.setText(usuario.getModelo().toString());
        if(usuario.getPlaca()!= null)this.vista.tbPlacaVehiculo.setText(usuario.getPlaca().toString());

       
       
    }
    
    public void aceptar(){
        if (!(UsuarioDAO.validarString(this.vista.tbNombre) && UsuarioDAO.validarString(this.vista.tbApellidoMaterno)&& UsuarioDAO.validarString(this.vista.tbApellidoPaterno)&& UsuarioDAO.validarDNI(this.vista.tbDni)&& UsuarioDAO.validarMail(this.vista.tbMail)&& UsuarioDAO.validarString(this.vista.tbDireccion)&& UsuarioDAO.validarTelefono(this.vista.tbTelefono))){
            //falta validad si el combobox es conductor.. si o si debe tener los valores del carro	
            //(this.vista.cmbPuestoTrabajo.getSelectedItem()=="Conductor")!(UsuarioDAO.validarString(this.vista.tbPlacaVehiculo) && UsuarioDAO.validarString(this.vista.tbMarcaVehiculo) && UsuarioDAO.validarString(this.vista.tbModeloVehiculo)))
            
            JOptionPane.showMessageDialog(this.menu_controlador.vista, "No paso la validacion.");
            return;
        }
        UsuarioBEAN usuario_nuevo = new UsuarioBEAN( this.vista.tbNombre.getText(),this.vista.tbApellidoMaterno.getText(), this.vista.tbApellidoPaterno.getText(),  this.vista.tbDni.getText(), this.vista.tbDireccion.getText(), this.vista.tbMail.getText(),  this.vista.tbTelefono.getText(),  this.vista.tbPlacaVehiculo.getText(),  this.vista.tbMarcaVehiculo.getText(),  this.vista.tbModeloVehiculo.getText(), this.vista.cmbPuestoTrabajo.getSelectedIndex(),  this.vista.cmbTipoVehiculo.getSelectedIndex());
        usuario_nuevo.setId(usuario.getId());
        
        String mensajeDAO = UsuarioDAO.modificarUsuario(usuario_nuevo);
        
        if (mensajeDAO.compareTo("OK") == 0) {
            JOptionPane.showMessageDialog(this.menu_controlador.vista, "Usuario Modificado exitosamente");
        } else {
            JOptionPane.showMessageDialog(this.menu_controlador.vista, "ERROR: " + mensajeDAO);
        }
        this.menu_controlador.cerrarVista();
        this.vista.setVisible(false);
        Usuarios new_vista=new Usuarios(this.menu_controlador);
        this.menu_controlador.controlador_interno=new_vista.controlador;
        this.menu_controlador.abrirVista(new_vista);
    }
    public void limpiar(){
       this.vista.tbNombre.setText("");
       /*faltan los demas campos*/
       
    }
    public void cerrar(){
       
        this.menu_controlador.cerrarVista();
        this.vista.setVisible(false);
        Usuarios new_vista=new Usuarios(this.menu_controlador);
        this.menu_controlador.controlador_interno=new_vista.controlador;
        this.menu_controlador.abrirVista(new_vista);
    }

    public void cancelar() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public void editar() {
        this.menu_controlador.cerrarVista();
        this.vista.setVisible(false);
        EditarUsuarios new_vista=new EditarUsuarios(this.menu_controlador,usuario);
        this.menu_controlador.controlador_interno=new_vista.controlador;
        this.menu_controlador.abrirVista(new_vista);
    }
}
